export abstract class Context<TProps, TState = {}> {
    props: TProps;
    
    constructor(props: TProps) {
        this.props = props;
    }

    abstract componentDidMount?(): void;
    abstract getSnapshotBeforeUpdate?(prevProps: TProps, prevState: TState): void;
    abstract componentDidUpdate?(): void;
    abstract componentWillUnmount?(): void;
    abstract componentDidCatch?(error: any, info: any): void;
}